In-flight Transaction Recovery
	
  XCO can recover in-flight (in-progress)
		transactions after a service restart or high-availability failover.
		Overview
			
			In-flight transactions are those that are outstanding in the execution log after a restart or
				a failover. After a service restart or high-availability failover, XCO recovers
				in-flight transactions by rolling them backward or rolling them forward. 
					- When transactions are rolled
						backward, the requested action is incomplete. 
- When transactions are rolled
						forward, the requested action is completed.
By default, the in-flight transaction recovery feature enables the automatic recovery of Day-1
				through Day-N operations for tenant-related configurations. You can use the 
efa system feature update
					--inflight-transaction-auto-recovery disable command to disable the
				feature. The following table describes the recovery strategy when the feature is
					enabled:
Table 1. Recovery strategy
							
								| Operation type | Commands | Strategy | 
						
							
								| Create operations | 
										efa
												tenant createefa
												tenant epg createefa
												tenant po createefa
												tenant service bgp peer createefa
												tenant service bgp peer-group createefa
												tenant vrf create | Roll back | 
							
								| Delete operations | 
										efa
												tenant deleteefa
												tenant epg deleteefa
												tenant po deleteefa
												tenant service bgp peer deleteefa
												tenant service bgp peer-group deleteefa
												tenant vrf delete | Roll forward | 
							
								| Update with add operations, such as port-add, ctag-range-add,
									and vrf-add | 
										efa
												tenant updateefa
												tenant epg updateefa
												tenant po updateefa
												tenant service bgp peer updateefa
												tenant service bgp peer-group updateefa
												tenant vrf update | Roll back | 
							
								| Update with delete operations, such as port-delete,
									vrf-delete, and ctag-range-delete | 
										efa
												tenant updateefa
												tenant epg updateefa
												tenant po updateefa
												tenant service bgp peer updateefa
												tenant service bgp peer-group updateefa
												tenant vrf update | Roll forward | 
						
Consider the following expected behaviors for in-flight transaction recovery:
					- During operations that take a
						long time, such as drift and reconcile and firmware downloads, tenant
						operations and recovery operations are blocked.
- When multiple transactions
						are pending in the execution log after a restart or a failover, recovery
						occurs in the order in which the operations appear in the execution
						log.
- If a service restart or high
						availability failover occurs during transaction recovery, then the status of
						those recovery operations is changed to a normal state. For example, if a
						restart occurs during the rollback of an endpoint group (EPG), the status
						changes to delete-pending. There is no automatic recovery of interrupted
						recovery transactions. You must manually verify and address the status of
						such operations. 

Important   
				Day-0 and administrative operations (those for the Inventory Services and Fabric Services)
					are not recovered automatically. If these operations are interrupted by a
					service restart or a failover, you must manually redo the operations.
			Examples
			
			The following example enables automatic in-flight transaction recovery:
			efa system feature update --inflight-transaction-auto-recovery enable
Feature Setting Updated Successful
--- Time Elapsed: 634.557118ms ---
			The following example disables automatic in-flight transaction recovery:
			efa system feature update --inflight-transaction-auto-recovery disable
Feature Setting Updated Successful
--- Time Elapsed: 634.557125ms ---